Matthias Clasen [Wed, 17 Apr 2019 01:13:16 +0000 (21:13 -0400)]
builder-tool: Tweak --help output
Matthias Clasen [Wed, 17 Apr 2019 01:00:47 +0000 (21:00 -0400)]
icon-browser: Left-align the sidebar
The centered labels just look disorderly.
Matthias Clasen [Wed, 17 Apr 2019 00:59:57 +0000 (20:59 -0400)]
icon-browser: Recover from GtkDialog api change
When we moved content_area to a sibling of action area,
it changed orientation from vertical to horizontal.
Adapt to this change.
Matthias Clasen [Tue, 16 Apr 2019 23:47:14 +0000 (23:47 +0000)]
Merge branch 'widget-factory-inspector' into 'master'
Widget factory inspector
See merge request GNOME/gtk!752
Matthias Clasen [Tue, 16 Apr 2019 22:09:46 +0000 (18:09 -0400)]
widget-factory: Update copyright line
Update the years to 2019, and use some better typography.
Matthias Clasen [Tue, 16 Apr 2019 22:06:12 +0000 (18:06 -0400)]
widget-factory: Add an Inspector menu item
Just because we can.
Timm Bäder [Tue, 16 Apr 2019 05:16:51 +0000 (07:16 +0200)]
grid: Fix annotation typo
Emmanuele Bassi [Tue, 16 Apr 2019 10:43:23 +0000 (11:43 +0100)]
Add licensing and copyright notice to report generators
So that other projects can use them.
Benjamin Otte [Sat, 26 Jan 2019 14:37:05 +0000 (15:37 +0100)]
filechoosernativewin32: Add missing break statement
Benjamin Otte [Sat, 26 Jan 2019 14:07:52 +0000 (15:07 +0100)]
notebook: Add missing return statement
Previously, the code would just fall thrrough and repeat an operation it
had tried before, but that seems quite unnecessary.
Benjamin Otte [Sat, 26 Jan 2019 13:30:06 +0000 (14:30 +0100)]
textview: Add missing break statement
Benjamin Otte [Sat, 26 Jan 2019 13:28:48 +0000 (14:28 +0100)]
vulkan: Add missing break statement
Benjamin Otte [Mon, 15 Apr 2019 02:19:28 +0000 (04:19 +0200)]
menu: Remove unused function parameter
The parameter was only ever set to TRUE.
And to make matters even more fun, the function didn't ever look
at the parameter.
Benjamin Otte [Sun, 14 Apr 2019 22:45:46 +0000 (00:45 +0200)]
menu: Move enum into only source file using it
Benjamin Otte [Sun, 14 Apr 2019 22:42:57 +0000 (00:42 +0200)]
menu: remove bottom attach
bottom attach is top attach + 1, so use that everywhere
Benjamin Otte [Sat, 13 Apr 2019 10:36:34 +0000 (12:36 +0200)]
menu: get rid of 2 variables
They are always 0 and 1 respectively, so treat the code like that.
Benjamin Otte [Sat, 13 Apr 2019 10:26:10 +0000 (12:26 +0200)]
menu: Yeah cool, you're the last child
Nobody cares.
Benjamin Otte [Sat, 13 Apr 2019 10:17:57 +0000 (12:17 +0200)]
menu: Remove attach properties
They're never changed from being -1. So just replace them with -1
everywhere.
Benjamin Otte [Sat, 13 Apr 2019 09:58:38 +0000 (11:58 +0200)]
menubar: Remove pack direction
Benjamin Otte [Sat, 13 Apr 2019 09:58:12 +0000 (11:58 +0200)]
tests: Remove popupat test
The test hasn't worked for a while and nobody cared to fix it.
Neither do I.
Emmanuele Bassi [Sun, 14 Apr 2019 19:56:11 +0000 (20:56 +0100)]
ci: Restructure the HTML report
We should show all the possible result sections:
- passed
- skipped
- expected failures
- failures
- timed out
Even if we consider the first three to be successes.
Emmanuele Bassi [Sun, 14 Apr 2019 19:37:21 +0000 (20:37 +0100)]
ci: Tweak the HTML report style
The header needs to take into account the job id field.
Emmanuele Bassi [Sun, 14 Apr 2019 19:29:14 +0000 (20:29 +0100)]
ci: Style the test report
My web design skills are terrible, but it's better than nothing; I'm
sure this will lead to somebody filing a merge request to make the
test report look a lot better.
While we're at it, let's include the reftest images inside the report
itself, so we don't have to hunt them down.
Emmanuele Bassi [Sat, 13 Apr 2019 13:45:32 +0000 (13:45 +0000)]
Merge branch 'harfbuzz-deprecations' into 'master'
Handle deprecated HarfBuzz API
See merge request GNOME/gtk!748
Emmanuele Bassi [Fri, 12 Apr 2019 17:42:38 +0000 (18:42 +0100)]
demo: Ignore deprecated HarfBuzz API
We should avoid warnings just because we're building against bleeding
edge HarfBuzz.
Emmanuele Bassi [Fri, 12 Apr 2019 17:40:08 +0000 (18:40 +0100)]
Ignore deprecated HarfBuzz API
HarfBuzz 2.0 deprecated some API used by the GtkFontChooser, but since
we're still supporting older versions of HarfBuzz, we should disable the
deprecation warnings to avoid too much noise during builds.
Emmanuele Bassi [Sat, 13 Apr 2019 13:28:53 +0000 (14:28 +0100)]
ci: Generate valid HTML for the report
Fix a typo in the closing <ul>, and add a missing closing <div>.
Emmanuele Bassi [Sat, 13 Apr 2019 13:18:14 +0000 (14:18 +0100)]
ci: Use the v5 CI image
Otherwise the dependencies for the HTML report won't be available.
Emmanuele Bassi [Sat, 13 Apr 2019 13:11:30 +0000 (14:11 +0100)]
ci: Add an HTML report generator
The JUnit cover report is useful, but only up to a point; for instance,
it's not used unless it's part of a merge request. This means you don't
get a report if you're pushing to a branch that does not have an MR open.
With a simple Python script and some minimal templating, we can generate
an HTML report from the "I Can't Believe it's not JSON™" log that Meson
produces, and keep it as a CI artifact.
Benjamin Otte [Sat, 13 Apr 2019 08:51:37 +0000 (10:51 +0200)]
passwordentry: Add missing break statement
Timm Bäder [Sat, 13 Apr 2019 04:26:27 +0000 (06:26 +0200)]
text: Remove useless gtk_widget_get_allocation call
Timm Bäder [Sat, 13 Apr 2019 04:26:17 +0000 (06:26 +0200)]
listbox: Fix compiler warning
Timm Bäder [Sat, 13 Apr 2019 04:18:43 +0000 (06:18 +0200)]
entry: Remove some unused constants
Timm Bäder [Sun, 31 Mar 2019 05:50:33 +0000 (07:50 +0200)]
gl renderer: Declare color matrix child separately
Otherwise I'm doing this all the time when debugging.
Benjamin Otte [Sat, 13 Apr 2019 00:38:14 +0000 (00:38 +0000)]
Merge branch 'listbox-separators' into 'master'
Listbox separators
See merge request GNOME/gtk!747
Matthias Clasen [Sat, 13 Apr 2019 00:28:08 +0000 (00:28 +0000)]
Merge branch 'test-locale-change' into 'master'
testutils: Run in UTF8 locale
See merge request GNOME/gtk!734
Matthias Clasen [Sat, 13 Apr 2019 00:25:54 +0000 (20:25 -0400)]
inspector: Use the new show-separators property
Add separators to the list boxes on the Settings page.
Matthias Clasen [Sat, 13 Apr 2019 00:25:16 +0000 (20:25 -0400)]
Adwaita: Implement list separators
Just put a top border on every row.
Matthias Clasen [Sat, 13 Apr 2019 00:24:40 +0000 (20:24 -0400)]
listbox: Add a ::show-separators property
This is getting translated into a .separators style
class on the list box css node.
Benjamin Otte [Sat, 13 Apr 2019 00:02:19 +0000 (00:02 +0000)]
Merge branch 'fix-reftests' into 'master'
Fix reftests
See merge request GNOME/gtk!746
Benjamin Otte [Fri, 12 Apr 2019 23:48:28 +0000 (01:48 +0200)]
reftests: Be more graceful about errors
The nice thing about that is that we can then log messages about the
errors to the log.
And then we can read the logs of the CI machinery and actually know
what's going on.
Matthias Clasen [Fri, 12 Apr 2019 23:48:23 +0000 (19:48 -0400)]
inspector: Fix editing in the property list
The type-to-search was interfering with using
entries in the list. Avoid that by watching
where the focus is.
Benjamin Otte [Fri, 12 Apr 2019 04:08:28 +0000 (06:08 +0200)]
testutils: Run in UTF8 locale
before, code was using the "C" locale, but that one uses ASCII. Instead,
run in the "C.utf8" locale.
Nobody expects code to not support UTF8 and no end user runs their
machine in an ASCII setup, so it makes no sense to default to that.
Benjamin Otte [Fri, 12 Apr 2019 23:31:49 +0000 (01:31 +0200)]
testsuite: Fix label-shadows test
Use a GtkFixed to position and rotate the labels. This is necessary
because the GtkLabel::angle property was removed.
Matthias Clasen [Fri, 12 Apr 2019 22:19:31 +0000 (22:19 +0000)]
Merge branch 'gtkcomposetable-checked-mul' into 'master'
gtkcomposetable: use g_size_checked_mul() for overflow checking
See merge request GNOME/gtk!745
Benjamin Otte [Fri, 12 Apr 2019 20:00:53 +0000 (22:00 +0200)]
reftests: Fix textview-margins test
The text is wider now that we changed the font properties, so account
for that.
Christoph Reiter [Fri, 12 Apr 2019 20:38:44 +0000 (22:38 +0200)]
gtkcomposetable: use g_size_checked_mul() for overflow checking
The check was added in !741, this replaces it with g_size_checked_mul()
Benjamin Otte [Fri, 12 Apr 2019 20:38:11 +0000 (22:38 +0200)]
Revert "reftests: Fix textview-margins test"
This reverts commit
c6471ee874702d4c4c2ec49d7a299926606461e9.
Doesn't work on CI.
Benjamin Otte [Fri, 12 Apr 2019 20:00:53 +0000 (22:00 +0200)]
reftests: Fix textview-margins test
The text is wider now that we changed the font properties, so account
for that.
Emmanuele Bassi [Fri, 12 Apr 2019 20:09:50 +0000 (20:09 +0000)]
Merge branch 'cache-reftest-images' into 'master'
ci: Cache the reftest artifacts
See merge request GNOME/gtk!744
Emmanuele Bassi [Fri, 12 Apr 2019 19:58:29 +0000 (20:58 +0100)]
ci: Cache the reftest artifacts
Keeping the reftest output images as artifacts of a job allows us to
browse them and download them straight from GitLab.
Emmanuele Bassi [Fri, 12 Apr 2019 19:30:31 +0000 (19:30 +0000)]
Merge branch 'ci-update' into 'master'
ci: Install Monospace fonts
See merge request GNOME/gtk!742
Emmanuele Bassi [Fri, 12 Apr 2019 19:30:19 +0000 (19:30 +0000)]
Merge branch 'fix-meson-on-macos-2' into 'master'
reftests: Use shared_library, not shared_module
See merge request GNOME/gtk!743
Emmanuele Bassi [Fri, 12 Apr 2019 19:21:29 +0000 (20:21 +0100)]
ci: Update list of xfail tests
The label tests do not fail any more, because the CI image has Monospace
fonts; the textview-margins test started to fail on the CI image,
though.
Matthias Clasen [Fri, 12 Apr 2019 19:11:30 +0000 (19:11 +0000)]
Merge branch 'validate-alloc-size' into 'master'
Check the size of the g_new arguments
See merge request GNOME/gtk!741
Emmanuele Bassi [Fri, 12 Apr 2019 19:03:11 +0000 (20:03 +0100)]
ci: Install Monospace fonts
The reftests require them.
Matthias Clasen [Fri, 12 Apr 2019 19:07:01 +0000 (15:07 -0400)]
inspector: Show readonly property values
Matthias Clasen [Fri, 12 Apr 2019 18:56:23 +0000 (14:56 -0400)]
inspector: Cosmetics
Matthias Clasen [Fri, 12 Apr 2019 18:34:11 +0000 (14:34 -0400)]
inspector: Revamp attribute and action info
This also needs to be turned into single-line data.
Matthias Clasen [Fri, 12 Apr 2019 17:58:33 +0000 (13:58 -0400)]
Fix a crash
We had a signal handler with a wrong signature, causing
a crash when looking at the GtkSettings properties in
the inspector.
James Westman [Fri, 12 Apr 2019 19:04:01 +0000 (14:04 -0500)]
reftests: Use shared_library, not shared_module
This allows Meson to run on macOS, where shared modules cannot be linked
against.
Emmanuele Bassi [Fri, 12 Apr 2019 17:59:04 +0000 (17:59 +0000)]
Merge branch 'default-request-mode' into 'master'
Add default GtkLayoutManagerClass.get_request_mode()
See merge request GNOME/gtk!738
Emmanuele Bassi [Fri, 12 Apr 2019 17:54:20 +0000 (18:54 +0100)]
Check the size of the g_new arguments
We're passing integers without validating their size, and newer GCC are
very cross about it, with warnings like:
warning: argument 1 range [
18446744071562067968,
18446744073709551615]
exceeds maximum object size
9223372036854775807 [-Walloc-size-larger-than=]
We should check we're not overflowing the allocation size, by limiting
the range of values we can use.
First of all, we need to use `gsize` instead of a random `int`, since we're
allocating data.
Additionally, we need to check that the multiplication that computes the
size of the allocation doesn't overflow the maximum value of a `gsize`.
Benjamin Otte [Fri, 12 Apr 2019 16:03:46 +0000 (18:03 +0200)]
CI: Turn on reftests
Benjamin Otte [Fri, 12 Apr 2019 16:01:45 +0000 (18:01 +0200)]
reftests: Mark the currently unfixed failures as XFAIL
They should be fixeed before 4.0 but the fixes are more involved. And we
want to start running the existing tests on CI, because they break
regularly and we want to catch that.
Benjamin Otte [Fri, 12 Apr 2019 04:48:28 +0000 (06:48 +0200)]
reftests: Fix GtkFixed layout properties
GtkFixed was still using "x" and "y", when it should have been using
"position".
Benjamin Otte [Fri, 12 Apr 2019 03:25:51 +0000 (05:25 +0200)]
reftests: Fix CSS for various tests
* :nth-child(first) => :first-child
* :nth-child(last) => :last-child
* Add semicolons at end of declarations
* Remove spaces between color functions (shade, alpha, ...) and args
Benjamin Otte [Fri, 12 Apr 2019 03:30:14 +0000 (05:30 +0200)]
tests: Remove testboxcss
That test was cool in 2011, but hasn't been updated or used since then
because its features are now part of widget-factory and the inspector.
So let's remove it.
Benjamin Otte [Fri, 12 Apr 2019 03:13:30 +0000 (05:13 +0200)]
builder: Parse GskTransform properties
In particular, this allows parsing the GtkFixed position properties.
Benjamin Otte [Thu, 21 Mar 2019 04:52:41 +0000 (05:52 +0100)]
transform: Add gsk_transform_parse()
It uses the new CSS parser.
Benjamin Otte [Thu, 11 Apr 2019 20:41:04 +0000 (22:41 +0200)]
testsuite: Fix stylecontext test
Update the test to the stricter interpretation of the CSS specification
and the removal of custom additions.
Benjamin Otte [Thu, 11 Apr 2019 19:11:39 +0000 (21:11 +0200)]
testsuite: Update references for style test
We have more accurate section printouts now and they are used here.
Benjamin Otte [Thu, 11 Apr 2019 02:33:08 +0000 (04:33 +0200)]
testsuite: Check errors not just for line, but for full range
Instead of just checking that the line of the error message is correct,
assert that start and end position are on the correct character offset.
Also fix all the tests to conform to this.
Benjamin Otte [Thu, 11 Apr 2019 18:45:17 +0000 (20:45 +0200)]
testsuite: Update integer test
Make the test use an actual integer property that accepts negative
numbers (opacity) instead of one that wants units (margin-top) or
can't deal with negative numbers (everything else).
Benjamin Otte [Thu, 11 Apr 2019 17:44:46 +0000 (19:44 +0200)]
selector: Inlcude : sign when reporting errors
Benjamin Otte [Thu, 11 Apr 2019 04:10:52 +0000 (06:10 +0200)]
cssprovider: Mark whole @import statement on import error
Benjamin Otte [Thu, 11 Apr 2019 02:31:36 +0000 (04:31 +0200)]
calc: Have better error location range
Benjamin Otte [Wed, 10 Apr 2019 19:10:03 +0000 (21:10 +0200)]
csspositionvalue: Redo the parser
The old one incorrectly rejected "center left" and "center right".
Benjamin Otte [Wed, 10 Apr 2019 17:42:09 +0000 (19:42 +0200)]
cssparser: Add error functions that take locations
... and use them to report better error locations for the warning when
blocks aren't terminated properly.
Benjamin Otte [Wed, 10 Apr 2019 16:40:50 +0000 (18:40 +0200)]
css: Move gtkcsssection.[ch] into gtk/css
Benjamin Otte [Wed, 10 Apr 2019 16:16:10 +0000 (18:16 +0200)]
cssparser: Pass in error locations explicitly
And for the quick function, use the start/end location of the current
token.
Benjamin Otte [Wed, 10 Apr 2019 16:01:56 +0000 (18:01 +0200)]
cssprovider: Redo error emission
Emit all errors via the parser, don't try to have a custom error
handling machinery.
The only exception is the initial file load error - we need to do that
one directly, because there is no parser.
Benjamin Otte [Wed, 10 Apr 2019 15:23:14 +0000 (17:23 +0200)]
csssection: Make printing functions public
Benjamin Otte [Wed, 10 Apr 2019 15:07:06 +0000 (17:07 +0200)]
cssprovider: Advance parser to start of declaration
This way, the block will reference the right location.
Benjamin Otte [Wed, 10 Apr 2019 14:37:52 +0000 (16:37 +0200)]
cssprovider: Change section handling
Instead of building a full tree of sections that then nobody cares
about, just create sections as necessary for when we use it in the
inspector.
Benjamin Otte [Wed, 10 Apr 2019 14:02:07 +0000 (16:02 +0200)]
cssparser: Improve location APIs
1. Export multiple locations
2. Return the location instead of passing one in
Benjamin Otte [Wed, 10 Apr 2019 03:18:14 +0000 (05:18 +0200)]
cssection: Return locations, not numbers
Now that we have GtkCssLocation, actually use it.
Benjamin Otte [Wed, 10 Apr 2019 02:55:37 +0000 (04:55 +0200)]
css: Remove GtkCssSectionType
It's unused.
Benjamin Otte [Wed, 10 Apr 2019 01:51:40 +0000 (03:51 +0200)]
csssection: Redo constructors
Remove the unused one and rename the old one to new_from_parser().
Benjamin Otte [Wed, 10 Apr 2019 00:59:15 +0000 (02:59 +0200)]
csssection: Store a GtkCssLocation
Benjamin Otte [Tue, 9 Apr 2019 03:40:50 +0000 (05:40 +0200)]
css: Review error messages
... and move them from _gtk_css_parser_error() to the proper new error
message.
Benjamin Otte [Tue, 9 Apr 2019 22:08:57 +0000 (00:08 +0200)]
css: Use gtk_css_parser_consume_any() for transition shorthand
Benjamin Otte [Tue, 9 Apr 2019 04:54:10 +0000 (06:54 +0200)]
testsuite: Update parser tests to new errors
Some errors are now properly detected as unknown values when previously
they were just treated as syntax errors.
Benjamin Otte [Tue, 9 Apr 2019 04:37:32 +0000 (06:37 +0200)]
testsuite: Handle warnings in CSS tests
Benjamin Otte [Tue, 9 Apr 2019 03:15:45 +0000 (05:15 +0200)]
cssshadow: Use gtk_css_parser_consume_any()
This way, the arguments can now really be speicified in any order.
A new testcase testing all the ordering possibilities has been added.
Benjamin Otte [Tue, 9 Apr 2019 02:47:00 +0000 (04:47 +0200)]
css: Redo for new parser
This commit is still way too big, but I couldn't make it smaller.
It transitions the old CSS parser to the new parser. CSS parsing is now
tokenized, everything else is probably still buggy.
Benjamin Otte [Sat, 6 Apr 2019 00:40:29 +0000 (02:40 +0200)]
rgba: Add gdk_rgba_parser_parse()
This function is a (private) function to parse a GdkRGBA accoridng to
the CSS specs. We should probably use it for gdk_rgba_parse(), but that
would change the syntax we accept there...
This also introduces a dependency of libgdk on libgtkcss.
So far, no users for this function exist.
Benjamin Otte [Tue, 19 Mar 2019 04:46:59 +0000 (05:46 +0100)]
Resurrect the CSS parser from the tokenizer branch
So far that parser is unused.
Benjamin Otte [Tue, 9 Apr 2019 00:29:27 +0000 (02:29 +0200)]
cssparser: Add gtk_css_parser_consume_url()
Another slight renaming and semantics change.
Benjamin Otte [Tue, 9 Apr 2019 00:15:12 +0000 (02:15 +0200)]
cssparser: Add gtk_css_parser_resolve_url()
Another slight change of semantics and naming for the new parser.